﻿using Microsoft.Win32;
using ProtoBuf;

namespace Wise.TimeWarrior.DTO
{
    /// <summary>
    /// Extended Session Switch Enum
    /// </summary>
    [ProtoContract]
    public enum SessionSwitchReasonExtended 
    {
        /// <summary>
        /// <see cref="SessionSwitchReason.ConsoleConnect"/>
        /// </summary>
        [ProtoEnum(Name = "ConsoleConnect",Value = 1)]
        ConsoleConnect = 1,
        /// <summary>
        /// <see cref="SessionSwitchReason.ConsoleDisconnect"/>
        /// </summary>
        [ProtoEnum(Name = "ConsoleDisconnect", Value =2)]
        ConsoleDisconnect = 2,
        /// <summary>
        /// <see cref="SessionSwitchReason.RemoteConnect"/>
        /// </summary>
        [ProtoEnum(Name = "RemoteConnect", Value = 3)]
        RemoteConnect = 3,
        /// <summary>
        /// <see cref="SessionSwitchReason.RemoteDisconnect"/>
        /// </summary>
        [ProtoEnum(Name = "RemoteDisconnect", Value = 4)]
        RemoteDisconnect = 4,
        /// <summary>
        /// <see cref="SessionSwitchReason.SessionLogon"/>
        /// </summary>
        [ProtoEnum(Name = "SessionLogon", Value = 5)]
        SessionLogon = 5,
        /// <summary>
        /// <see cref="SessionSwitchReason.SessionLogoff"/>
        /// </summary>
        [ProtoEnum(Name = "SessionLogoff", Value = 6)]
        SessionLogoff = 6,
        /// <summary>
        /// <see cref="SessionSwitchReason.SessionLock"/>
        /// </summary>
        [ProtoEnum(Name = "SessionLock", Value = 7)]
        SessionLock = 7,
        /// <summary>
        /// <see cref="SessionSwitchReason.SessionUnlock"/>
        /// </summary>
        [ProtoEnum(Name = "SessionUnlock", Value = 8)]
        SessionUnlock = 8,
        /// <summary>
        /// <see cref="SessionSwitchReason.SessionRemoteControl"/>
        /// </summary>
        [ProtoEnum(Name = "SessionRemoteControl", Value = 9)]
        SessionRemoteControl = 9,
        /// <summary>
        /// Extended event reason - program started
        /// </summary>
        [ProtoEnum(Name = "ProgramStarted", Value = 10)]
        ProgramStarted = 10,
        /// <summary>
        /// Extended event reason - program started
        /// </summary>
        [ProtoEnum(Name = "Manual", Value = 50)]
        Manual = 50,
        /// <summary>
        /// Extended event reason - program stopped
        /// </summary>
        [ProtoEnum(Name = "ProgramStopped", Value = 90)]
        ProgramStopped =90
    }
}
